/*
    实现⼀个算法，输⼊是⼈数(>=2)，计算任意⼀天同时存在两个及以上的⼈过⽣⽇的概率，保留四位⼩数。
    输⼊：50
    输出：0.9704
    输⼊：61
    输出：0.9951
    思路：通过计算所有人生日都不同的概率，然后用1减去这个概率来得到至少有两个人生日相同的概率。
*/

pub fn new_birthday_probability(n: u32) -> f64 {
    if n < 2 {
        return 0.0;
    }

    let days_in_year = 365.0;
    let mut probability_all_different = 1.0;

    for i in 0..n {
        probability_all_different *= (days_in_year - i as f64) / days_in_year;
    }

    let probability_at_least_two_same = 1.0 - probability_all_different;
    (probability_at_least_two_same * 10000.0).round() / 10000.0
}
